The present invention relates to a joystick for inputting information into a computer for controlling the operation of electronic games or the like and more particularly to a joystick which utilizes digital switches in combination with a resistive network to digitally present analog information to the computer or electronic game.
Joysticks are used in various applications such as to input information into a computer or to control the movement of a figure or object in a video game. The joystick usually includes a handle to facilitate manual input of coordinate information to the video game with the handle being movable to an position in two orthogonal directions to control the input of coordinate information. Currently joysticks either present digital or analog information to the electronic game.
Typically digital joysticks provide digital information to the video game by movement of a handle which is adapted to contact at least one of four switches usually spaced 90.degree. apart. The four switches represent movement of the handle in the +x, -x, +y, and -y directions of an X-Y coordinate system. The handle of the joystick can also be moved to inbetween positions in the coordinate system in order to contact two adjacent switches. This means that the digital joystick has eight possible different switching positions and one position where none of the switches are contacted. The switches are either opened or closed by movements of the handle as will be explained.
The output of the digital joystick in each position is inputted to the computer or game which polls the state of the various switches to determine the position of the handle and what response or condition is to be produced. The switches can be considered to correspond to separate bits of an eight bit register. When the register is read the computer processes the data to be one of many different combinations corresponding to the various positions of the handle of the joystick.
Although the digital joystick is easy to control one disadvantage associated with its use is that it is not able to provide variable information to the computer. For example, with a digital joystick the computer can only interpret each input in a particular way such as turn left or turn right or go up or go down because the digital joystick does not have the ability to provide variable or multifacited input information to the computer, such for example as turn left slowly or turn left part way.
Analog joysticks on the other hand, by their very nature, provide analog information to the video game. A typical analog joystick has a handle which is mechanically coupled to the wiper arms of respective potentiometers. Movement of the handle varies the impedance of the potentiometers, which movements may correspond to movements of a figure in a video game or produce some other change. Analog joysticks also have centering mechanisms, such as tension springs, which return the joystick handles to their center or home positions. Some analog joysticks have a zero adjustment mechanism which calibrates the resistance of the potentiometer to correspond to the center or home position.
The analog joystick is often connected to a game card of a computer. The game card produces digital pulses having durations proportional to the resistance (R.sub.in) provided from the potentiometers of the analog joystick. The duration of the pulse has an output which is typically 24.2 microseconds +(0.011.times.R.sub.in) microseconds. For example, in the center or home position, where R.sub.in equals 50,000 ohms, the game card will produce a pulse on the order of 574.2 microseconds. This value will be compared to other values to determine the position of the joystick in its various deflected positions. If the next pulse is longer in duration than the previous pulse the computer will determine that the joystick has been moved, for example, in the +x direction. The full scale end points of the joystick (i.e., the joystick being moved all the way to the -x direction where R.sub.in equals 0 ohms or all the way to the +x direction where R.sub.in equals 100,000 ohms) will cause the game card to output pulses having durations of 24.2 microseconds and 1124.2 microseconds, respectively. The duration of the pulse is compared to other values stored in the computer memory to determine the relative position of the joystick handle in either the x or y directions.
Typically the outputs of analog joysticks are used to control video game action in one of two modes. The first mode, known as the arcade mode, is only concerned with the direction in which the joystick handle is moved. The arcade mode uses the analog joystick as if it were a digital joystick. The arcade mode compares the output of the joystick to a point halfway between the center position and the end points. This provides the computer with three distinct output regions on each axis, namely, left region, center region, and the right region in the case of the x axis.
The second mode, known as the variable mode, is concerned with the amount the joystick handle is moved from its center position. If the joystick is moved a small amount from its center position this will have a correspondingly small effect on the program. On the other hand, if the joystick is moved to an end position, the joystick will have a greater and usually more dramatic effect on the program. The variable mode is used in flight simulation programs to allow varying control of the aircraft.
The analog joystick is capable of providing a variable output to the analog game card. Although the analog joystick provides variable information to the analog game card, the handle itself is difficult to control thus reducing any benefits attributable to variable input information. Another problem associated with the use of the analog joystick is that the center or home resistive value often becomes out of calibration due to inferior centering mechanisms. The centering mechanism of the typical analog joystick mechanically centers the handle of the joystick and the potentiometer wiper to which the handle is connected. Such centering mechanisms for joysticks usually are inaccurate and the resistive value of the center position is also allowed to vary from one setting to the next causing the analog game card which receives the inputs to misinterpret the position of the handle. For these and other reasons it would be advantageous to have a joystick which has the advantages of both a digital and an analog joystick with none of their attendant disadvantages.